package com.ruoyi.tongyan.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目过程对象 t_project_process
 *
 * @author ruoyi
 * @date 2025-05-19
 */
public class TProjectProcess extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 过程id */
    private Long processId;

    /** 关联项目id */
    @Excel(name = "关联项目id")
    private Long projectId;

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    /** 关联项目,原表无 */
    @Excel(name = "关联项目")
    private String projectName;

    /** 过程名称 */
    @Excel(name = "过程名称")
    private String processName;

    /** 过程详细描述 */
    private String description;

    /** 关联文档的路径 */
    private String filePath;

    /** 评审状态，例如："通过"、"未通过"、"待评审"等 */
    @Excel(name = "评审状态")
    private String reviewStatu;

    /** 操作人 ID（关联用户表 sys_user.user_id） */
    private Long userId;

    /** 记录创建时间 */
    private Date createdAt;

    /** 记录更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setProcessId(Long processId)
    {
        this.processId = processId;
    }

    public Long getProcessId()
    {
        return processId;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProcessName(String processName)
    {
        this.processName = processName;
    }

    public String getProcessName()
    {
        return processName;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setFilePath(String filePath)
    {
        this.filePath = filePath;
    }

    public String getFilePath()
    {
        return filePath;
    }
    public void setReviewStatu(String reviewStatu)
    {
        this.reviewStatu = reviewStatu;
    }

    public String getReviewStatu()
    {
        return reviewStatu;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("projectId", getProjectId())
            .append("processId", getProcessId())
            .append("projectName", getProjectName())
            .append("processName", getProcessName())
            .append("description", getDescription())
            .append("filePath", getFilePath())
            .append("reviewStatu", getReviewStatu())
            .append("userId", getUserId())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
